Skip to content

chore: update rust-sdks to livekit-ffi v0.12.68#735

Merged
cloudwebrtc merged 6 commits into
mainfrom
sxian/update-ffi-0.12.68
Jun 30, 2026
Merged

chore: update rust-sdks to livekit-ffi v0.12.68#735
cloudwebrtc merged 6 commits into
mainfrom
sxian/update-ffi-0.12.68

Conversation

@xianshijing-lk

Copy link
Copy Markdown
Contributor

Summary

Updates rust-sdks submodule to livekit-ffi v0.12.68.

Changes

  • Add MaintainFramerateAndResolution to DegradationPreference enum (aligns with WebRTC M144)
  • DISABLED is deprecated, use MAINTAIN_FRAMERATE_AND_RESOLUTION instead

🤖 Generated with Claude Code

Updates rust-sdks submodule to include:
- Add MaintainFramerateAndResolution to DegradationPreference enum (aligns with WebRTC M144)
- DISABLED is deprecated, use MAINTAIN_FRAMERATE_AND_RESOLUTION instead

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread livekit-rtc/rust-sdks
@@ -1 +1 @@
Subproject commit 304214e3c161a0ba036c729abf1e95a2863aa452
Subproject commit dad794d414fda9e8c1de83af1c0f190506a15f8f

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 Submodule update with no visibility into downstream impact

This PR only updates the livekit-rtc/rust-sdks submodule pointer from 304214e to dad794d. Without inspecting the changes between those two commits in the submodule repository, it's not possible to determine whether the updated Rust SDK introduces breaking API changes, behavioral differences, or compatibility issues that could affect the Python bindings built on top of it. CI/build results would be the primary signal for correctness here.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@xianshijing-lk xianshijing-lk force-pushed the sxian/update-ffi-0.12.68 branch from ef30040 to bc6b12e Compare June 30, 2026 06:24

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 new potential issue.

Open in Devin Review

Comment thread livekit-rtc/livekit/rtc/participant.py Outdated
Comment on lines +113 to +116
MAINTAIN_FRAMERATE = ProtoDegradationPreference.DEGRADATION_PREFERENCE_MAINTAIN_FRAMERATE
"""Degrade framerate to maintain resolution."""
MAINTAIN_RESOLUTION = ProtoDegradationPreference.DEGRADATION_PREFERENCE_MAINTAIN_RESOLUTION
"""Degrade resolution to maintain framerate (drop frames to keep clarity)."""

@devin-ai-integration devin-ai-integration Bot Jun 30, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 DegradationPreference docstrings contradict proto-generated descriptions

The Python wrapper's docstrings for MAINTAIN_FRAMERATE and MAINTAIN_RESOLUTION (livekit-rtc/livekit/rtc/participant.py:113-116) are semantically opposite to the auto-generated proto descriptions in livekit-rtc/livekit/rtc/_proto/room_pb2.pyi:124-127. The proto says value 1 (MAINTAIN_FRAMERATE) means "Degrade framerate to maintain resolution" while the Python wrapper says "Degrade resolution to maintain framerate." After checking the standard WebRTC DegradationPreference semantics (where kMaintainFramerate = reduce resolution to maintain framerate), the Python wrapper's descriptions are correct and the proto descriptions appear to have a documentation error. This is not a runtime bug since the integer values are correctly mapped, but it could cause confusion if someone cross-references the proto stubs.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Add a wrapper DegradationPreference enum that matches the Rust API:
- BALANCED: Balance between framerate and resolution degradation
- MAINTAIN_FRAMERATE: Degrade framerate to maintain resolution
- MAINTAIN_RESOLUTION: Degrade resolution to maintain framerate
- MAINTAIN_FRAMERATE_AND_RESOLUTION: Maintain both, drop frames before encoding

The deprecated 'Disabled' value is intentionally excluded since it has been
removed from WebRTC M144 and replaced with MaintainFramerateAndResolution.

Also regenerates proto files from livekit-ffi v0.12.68.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@xianshijing-lk xianshijing-lk force-pushed the sxian/update-ffi-0.12.68 branch from 7a6e94d to 0dc2b42 Compare June 30, 2026 06:52
devin-ai-integration[bot]

This comment was marked as resolved.

xianshijing-lk and others added 2 commits June 30, 2026 16:27
- Fix swapped docstrings for MaintainFramerate and MaintainResolution
  to match W3C WebRTC spec semantics
- Add --format flag to publisher.py example (default: i420) for more
  efficient frame capture similar to Rust SDK

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@cloudwebrtc cloudwebrtc merged commit d834d35 into main Jun 30, 2026
29 of 32 checks passed
@cloudwebrtc cloudwebrtc deleted the sxian/update-ffi-0.12.68 branch June 30, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants